package com.wasu.netutils.live;

/**
 * <p>------------------------------------------------------
 * <p>Copyright (C) 2020 wasu company, All rights reserved.
 * <p>------------------------------------------------------
 * <p> 请求IP直播管理系统数据缓存策略，对应rxCache中的几个策略
 * <p>
 *
 * @author Created by zhangmz
 * @date on 2023/8/25
 */
public enum LiveCacheStrategy {

    /**
     * 只取网络，不取缓存，不保存缓存，无策略时也是默认选项 “0”
     */
    ONLY_NETWORK,

    /**
     * 取网络数据，有数据回调并保存缓存，否则回调空不缓存 “1”
     */
    NETWORK,

    /**
     * 优先网络，有数据回调并保存缓存，无数据取缓存，无缓存回调空 “3”
     */
    FIRST_NETWORK,

    /**
     * 只取缓存，无网络请求，无缓存返回空 “2”
     */
    ONLY_CACHE,

    /**
     * 优先缓存，返回缓存数据，无缓存取网络，返回网络数据，网络数据请求后并保存缓存 “4”
     */
    FIRST_CACHE,

    /**
     * 有限缓存，无则网络，但是缓存有时效，失效时间固定从请求开始时间点到凌晨
     */
    FIRST_CACHE_TIMEOUT,

    /**
     * 先取缓存数据，无则不回调，再读取网络数据，有无都回调，会回调两次，cp请求不支持该策略 “6”
     */
    CACHE_NETWORK,

    /**
     * 1：有缓存，读取并回调缓存，再请求网络，刷新缓存，不回调网络数据
     * 2：无缓存，请求网络，添加缓存，回调网络数据 “7”
     */
    CACHE_REFRESH_CACHE
}
